import { defineConfig } from 'vite'
import path from 'path'

export default defineConfig({
  root: './', // 项目根目录
  base: './', // 保证打包后资源路径相对正确
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './'),
      '@assets': path.resolve(__dirname, './assets'),
    },
  },
  build: {
    outDir: 'dist',
    assetsDir: 'assets',
    sourcemap: false,
    rollupOptions: {
      output: {
        manualChunks: {
          // 将 three 单独打包，提升加载性能
          three: ['three'],
        },
      },
    },
  },
  server: {
    open: true, // 自动打开浏览器
    port: 5173,
  },
  // 如果你要加载 .glsl / .vert / .frag 文件
  plugins: [
    {
      name: 'glsl-loader',
      transform(src, id) {
        if (/\.(glsl|vert|frag)$/.test(id)) {
          return {
            code: `export default ${JSON.stringify(
                src.replace(/\r?\n/g, '\\n')
            )}`,
            map: null,
          }
        }
      },
    },
  ],
})
